package com.zb.mobile.network.service;

import com.zb.entity.AccounLoginInfo;
import com.zb.mobile.NetworkOrderRecordSearchVo;
import com.zb.mobile.WithdrawMobileVo;
import com.zb.mobile.WithdrawRecordDetailMobileVo;
import com.zb.mobile.WithdrawRecordListSearchMobileVo;

import java.util.Map;

/**
 * @Author WEN
 * @Date 2024/5/25 0025
 **/
public interface ConNetworkMobileWithdrawService {

    /**
     * 获取提现账户金额
     * @param loginInfo
     * @return
     */
    Object getWithdrawMoney(AccounLoginInfo loginInfo);

    /**
     * 获取工单记录
     * @param loginInfo
     * @param search
     * @return
     */
    Map<String, Object> getMobileWithdrawOrderRecord(AccounLoginInfo loginInfo, NetworkOrderRecordSearchVo search);

    /**
     * 获取工单记录详情
     * @param workId 工单ID
     * @return
     */
    Object getWithdrawOrderRecordDetail(Long workId);

    /**
     * 可提现工单列表
     * @param loginInfo
     * @param search
     * @return
     */
    Map<String, Object> getMobileWithdrawOrderList(AccounLoginInfo loginInfo, NetworkOrderRecordSearchVo search);

    /**
     * 保存移动端申请提现
     * @param loginInfo
     * @param withdrawMobileVo
     */
    void saveMobileWithdraw(AccounLoginInfo loginInfo, WithdrawMobileVo withdrawMobileVo);

    /**
     * 获取提现记录列表
     * @param loginInfo
     * @param search 搜索对象
     * @return
     */
    Map<String, Object> getWithdrawRecordList(AccounLoginInfo loginInfo, WithdrawRecordListSearchMobileVo search);

    /**
     * 获取提现记录详情
     * @param id 提现ID
     * @return
     */
    WithdrawRecordDetailMobileVo getWithdrawRecordDetail(Long id);

    /**
     * 根据提现单ID获取提现工单
     * @param id 提现工单ID
     * @return
     */
    Object getWithdrawOrderList(Long id);


}
